In recent years, the number of pixels to be handled by digital cameras which have prevailed remarkably has become increasingly huge, and general-purpose cameras having, e.g., about two to five million pixels are popular. As digital cameras for professionals, those of 10-million pixel classes are beginning to prevail, and higher resolution will be required in the future.
On another front, users who enjoy uploading images taken with digital cameras to an online album service on the Internet are increasing. In such systems, various types of image browser software are available. In general, a list of thumbnail images is displayed, and the user selects an image to be displayed in an enlarged scale from the list and displays it in a larger scale than the thumbnail image.
However, when image data with a large pixel size which is taken by the aforementioned digital camera in recent years is to be downloaded from a server every time the user selects to display it in an enlarged scale, a very long wait time is required until that image is displayed on a client terminal.
In order to solve such a problem, techniques for saving multi-resolution data, which are encoded by dividing data of respective resolutions into a plurality of tiles, in a server in advance, and downloading and displaying only partial data required upon display of user's choice have been developed. As a typical one of such techniques, a technique that combines Flashpix and IIP, a technique that exploits JPEG2000, and the like are known. That is, according to these techniques, since each image data has a plurality of resolutions, a change in display size at the client can be coped with. Also, since such multi-resolution image data are divided into tiles, the client can randomly access a partial area of an image. Furthermore, by reducing the tile size to be divided, a wasteful transfer data volume can be reduced.
Note that Flashpix is an image file format standardized by Digital imaging group (DIG). Flashpix has multi-resolutions, and an image of each resolution is divided into tiles of 64×64 pixels. Also, IIP is an abbreviation for Internet Imaging protocol, and this protocol allows the client to acquire only required data from Flashpix data by designating the resolution and tiles of the Flashpix data.
Furthermore, as the technique that exploits JPEG2000, one which uses JPEG2000 and JPIP is known. JPEG2000 is an image coding scheme which was standardized in 2001 as an image coding scheme which has multi-resolutions and uses tile division. Note that JPIP is JPEG2000 image coding system-Part 9: Interactivity tools, APIs and protocols, which is being laid down as a protocol required to fragmentarily access and display a file encoded according to JPEG2000.
Also, similar techniques are disclosed in Japanese Patent Laid-Open No. 2003-23630 (U.S. Pre-Grant Publication No. AA2003018818) and Japanese Patent Laid-Open No. 2004-40674.
Japanese Patent Laid-Open No. 2003-23630 discloses a technique associated with a server/client system that exchanges partial data of image data which are stored in a server and are encoded by JPEG2000. According to this technique, there is disclosed the following system. That is, a client requests the server to send partial data of compressed data, which is not stored in a buffer yet, on the basis of information indicating which partial data of a codestream stored in the server has already been stored in the buffer of the client. In response to this request, the server extracts the requested partial data of the compressed data, and returns it to the client. Finally, the client combines the received data and the already stored data to obtain an image.
On the other hand, Japanese Patent Laid-Open No. 2004-40674 discloses a technique for progressively displaying JPEG2000 encoded data stored on the server side at high speed on the client side. According to this technique, a server extracts subband encoded data of a resolution level designated by a client from a file, and transmits it to the client. On the other hand, the client issues a request that designates a desired resolution level to the server, and reconstructs image data by combining coefficients of decoded subbands of the resolution level of the currently displayed image, and those of subbands obtained by decoding the encoded data received from the server, thus implementing progressive display.
However, Flashpix and JPEG2000 mentioned above use largely different tiles. That is, in Flashpix, since the tile size is fixed, i.e., 64×64 pixels at respective resolutions, the number of tiles decreases with decreasing resolution (decreasing image size). By contrast, in JPEG2000, since the numbers of tiles are fixed for respective resolutions, the number of tiles remains the same even when the resolution is lower (the image size is smaller). That is, in order to display an image of 128×128 pixels, Flashpix requires four tiles, and JPEG2000 may often require 100 or more tiles.
On the other hand, the screen resolution on the client side normally ranges from about 320×240 pixels to about 2048×1536 pixels. Upon displaying an image stored in the server on the display screen of the client by an interactive operation, it is often displayed within a window of a viewer of a sort in place of the entire screen. More specifically, an image display area is normally narrower than the screen of a client device. Therefore, when the client wants to display the entire image, it selects an image with a lower resolution, and issues its request to the server; when the client wants to enlarge only a part of an image, it selects an image with a higher resolution, and issues its request to the server.
Note that Japanese Patent Laid-Open No. 2003-179760 discloses a method for generating JPEG2000 encoded data from fragmentarily received data, and decoding the generated data. In such case, the head of each tile is sought and decoded. Therefore, as the number of tiles including areas required in display increases, the number of times of file seek operations increases, resulting in a long decode time.
In JPEG2000, the number of tiles becomes large when the entire image is displayed. For this reason, upon decoding the entire image with a low resolution (small image size), a very long decode time is required although its size is small (resolution is low).
However, both of Japanese Patent Laid-Open Nos. 2003-23630 and 2004-40674 merely describe the technique for exchanging data extracted from JPEG2000 encoded data stored on the server side according to a client request. In the server/client system, a decrease in tile size brings about an effect of reducing a wasteful transfer data volume. However, when the number of tiles of an image is decreased without careful consideration, such data becomes hard to handle in the server/client.
Therefore, a tile division method which shortens the decode time of an image with a low resolution (small image size), and reduces a wasteful transfer data volume is demanded.